var TINY={};

function T$(i){
    return document.getElementById(i)
    }
function T$$(e,p){
    return p.getElementsByTagName(e)
    }

TINY.slider=function(){
    function slide(n,p){
        this.n=n;
        this.init(p)
        }
    slide.prototype.init=function(p){
        var s=this.x=T$(p.id), u=this.u=T$$('ul',s)[0], c=this.m=T$$('li',u), l=c.length, i=this.l=this.c=0;
        this.b=1;
        if(p.navid&&p.activeclass){
            this.g=T$$('li',T$(p.navid));
            this.s=p.activeclass
            }
        this.a=p.auto||0;
        this.p=p.resume||0;
        this.r=p.rewind||0;
        this.e=p.elastic||false;
        this.v=p.vertical||0;
        s.style.overflow='hidden';
        for(i;i<l;i++){
            if(c[i].parentNode==u){
                this.l++
            }
        }
    if(this.v){
        ;
        u.style.top=0;
        this.h=p.height||c[0].offsetHeight;
        u.style.height=(this.l*this.h)+'px'
    }else{
        u.style.left=0;
        this.w=p.width||c[0].offsetWidth;
        u.style.width=(this.l*this.w)+'px'
    }
    this.nav(p.position||0);
    if(p.position){
        this.pos(p.position||0,this.a?1:0,1)
        }else if(this.a){
        this.auto()
        }
    if(p.left){
        this.sel(p.left)
        }
    if(p.right){
        this.sel(p.right)
        }
},
slide.prototype.auto=function(){
    this.x.ai=setInterval(new Function(this.n+'.move(1,1,1)'),this.a*1000)
},
slide.prototype.pause=function(){
    clearInterval(this.x.ai);
    clearInterval(this.x.si);
},
slide.prototype.move=function(d,a){
    var n=this.c+d;
    if(this.r){
        n=d==1?n==this.l?0:n:n<0?this.l-1:n
        }
    this.pos(n,a,1)
},
slide.prototype.pos=function(p,a,m){
    var v=p;
    clearInterval(this.x.ai);
    clearInterval(this.x.si);
    if(!this.r){
        if(m){
            if(p==-1||(p!=0&&Math.abs(p)%this.l==0)){
                this.b++;
                for(var i=0;i<this.l;i++){
                    this.u.appendChild(this.m[i].cloneNode(1))
                    }
                this.v?this.u.style.height=(this.l*this.h*this.b)+'px':this.u.style.width=(this.l*this.w*this.b)+'px';
            }
            if(p==-1||(p<0&&Math.abs(p)%this.l==0)){
                this.v?this.u.style.top=(this.l*this.h*-1)+'px':this.u.style.left=(this.l*this.w*-1)+'px';
                v=this.l-1
            }
        }else if(this.c>this.l&&this.b>1){
            v=(this.l*(this.b-1))+p;
            p=v
        }
    }
    var t=this.v?v*this.h*-1:v*this.w*-1, d=p<this.c?-1:1;
    this.c=v;
    var n=this.c%this.l;
    this.nav(n);
    if(this.e){
        t=t-(8*d)
        }
    this.x.si=setInterval(new Function(this.n+'.slide('+t+','+d+',1,'+a+')'),10)
},
slide.prototype.nav=function(n){
    if(this.g){
        for(var i=0;i<this.l;i++){
            this.g[i].className=i==n?this.s:''
            }
        }
},
slide.prototype.slide=function(t,d,i,a){
    var o=this.v?parseInt(this.u.style.top):parseInt(this.u.style.left);
    if(o==t){
        clearInterval(this.x.si);
        if(this.e&&i<3){
            this.x.si=setInterval(new Function(this.n+'.slide('+(i==1?t+(12*d):t+(4*d))+','+(i==1?(-1*d):(-1*d))+','+(i==1?2:3)+','+a+')'),10)
        }else{
            if(a||(this.a&&this.p)){
                this.auto()
                }
            if(this.b>1&&this.c%this.l==0){
                this.clear()
                }
        }
    }else{
        var v=o-Math.ceil(Math.abs(t-o)*.1)*d+'px';
        this.v?this.u.style.top=v:this.u.style.left=v
    }
},
slide.prototype.clear=function(){
    var c=T$$('li',this.u), t=i=c.length;
    this.v?this.u.style.top=0:this.u.style.left=0;
    this.b=1;
    this.c=0;
    for(i;i>0;i--){
        var e=c[i-1];
        if(t>this.l&&e.parentNode==this.u){
            this.u.removeChild(e);
            t--
        }
    }
},
slide.prototype.sel=function(i){
    var e=T$(i);
    e.onselectstart=e.onmousedown=function(){
        return false
        }
}
return{
    slide:slide
}
}();